package Others.DesignPattern.DecoratorPattern.Pattern.Decorator;

import cn.hutool.core.bean.BeanUtil;
import lombok.Data;
import lombok.EqualsAndHashCode;

@EqualsAndHashCode(callSuper = true)
@Data
public abstract class dress extends people{
    //这个其实就是装饰类--它用来装饰people这个类的--由于他只是一个抽象的类，不是具体的类，所以定义为抽象类
    //不让外界创建它的具体实现（ps:他本来应该是接口的，只负责对相关服饰的方法展示即可--show--但是由于它被赋予了装饰的意义，所以接口不再符合其身份了）

    protected people component;

    //由装饰者--定义传入装饰对象--后续的子类直接复用即可
    public void Decorator(people component){
        this.component = component;
    }

    @Override
    public void show() {
        if(!BeanUtil.isEmpty(component))
            component.show();
    }




}
